Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compact BGPFilter to save switch memory #559

Merged
merged 1 commit into from
Aug 13, 2024
Merged

Compact BGPFilter to save switch memory #559

merged 1 commit into from
Aug 13, 2024

Conversation

majst01
Copy link
Contributor

@majst01 majst01 commented Aug 12, 2024

With this the BGPFilter entries which are put into Route Maps per Switch Port for every allocated machine could potentially compacted by searching for smaller prefixes which cover the given cidrs.

A test is added which takes a sample from a large production entry of such a BGPFilter, the number of entries is cut in half.
This will also reduce the amount of data sent to metal-core during reconcile.

In our Test environment this changes the frr.conf like so (ips obfuscated):

 diff -u frr.conf.pre-compaction frr.conf.after-compaction 
--- frr.conf.pre-compaction     2024-08-12 07:18:39.035208128 +0000
+++ frr.conf.after-compaction   2024-08-12 07:25:50.627110280 +0000
@@ -286,8 +286,7 @@
 ip prefix-list vrf101-in-prefixes permit 10.131.44.132/32 le 32
 ip prefix-list vrf101-in-prefixes permit 100.127.199.6/32 le 32
 ip prefix-list vrf101-in-prefixes permit 100.127.199.8/32 le 32
-ip prefix-list vrf101-in-prefixes permit 100.34.83.10/32 le 32
-ip prefix-list vrf101-in-prefixes permit 100.34.83.11/32 le 32
+ip prefix-list vrf101-in-prefixes permit 100.34.83.10/31 le 32
 ip prefix-list vrf101-in-prefixes permit 100.34.83.27/32 le 32
 ip prefix-list vrf101-in-prefixes permit 100.34.83.6/32 le 32
 ip prefix-list vrf101-in-prefixes permit 10.240.0.0/12 le 32
@@ -344,16 +343,10 @@
 # route-maps for vrf113
 ip prefix-list vrf113-in-prefixes permit 10.0.0.8/32 le 32
 ip prefix-list vrf113-in-prefixes permit 10.130.180.0/22 le 32
-ip prefix-list vrf113-in-prefixes permit 100.127.199.10/32 le 32
-ip prefix-list vrf113-in-prefixes permit 100.127.199.11/32 le 32
-ip prefix-list vrf113-in-prefixes permit 100.127.199.12/32 le 32
-ip prefix-list vrf113-in-prefixes permit 100.127.199.13/32 le 32
-ip prefix-list vrf113-in-prefixes permit 100.127.199.14/32 le 32
-ip prefix-list vrf113-in-prefixes permit 100.127.199.15/32 le 32
-ip prefix-list vrf113-in-prefixes permit 100.127.199.2/32 le 32
-ip prefix-list vrf113-in-prefixes permit 100.127.199.3/32 le 32
-ip prefix-list vrf113-in-prefixes permit 100.127.199.4/32 le 32
-ip prefix-list vrf113-in-prefixes permit 100.127.199.5/32 le 32
+ip prefix-list vrf113-in-prefixes permit 100.127.199.10/31 le 32
+ip prefix-list vrf113-in-prefixes permit 100.127.199.12/30 le 32
+ip prefix-list vrf113-in-prefixes permit 100.127.199.2/31 le 32
+ip prefix-list vrf113-in-prefixes permit 100.127.199.4/31 le 32
 ip prefix-list vrf113-in-prefixes permit 100.127.199.7/32 le 32
 ip prefix-list vrf113-in-prefixes permit 100.127.199.9/32 le 32
 ip prefix-list vrf113-in-prefixes permit 100.34.83.17/32 le 32
@@ -413,10 +406,8 @@
 # route-maps for vrf20
 ip prefix-list vrf20-in-prefixes permit 10.0.0.1/32 le 32
 ip prefix-list vrf20-in-prefixes permit 10.131.44.0/22 le 32
-ip prefix-list vrf20-in-prefixes permit 100.34.83.4/32 le 32
-ip prefix-list vrf20-in-prefixes permit 100.34.83.5/32 le 32
-ip prefix-list vrf20-in-prefixes permit 100.34.83.8/32 le 32
-ip prefix-list vrf20-in-prefixes permit 100.34.83.9/32 le 32
+ip prefix-list vrf20-in-prefixes permit 100.34.83.4/31 le 32
+ip prefix-list vrf20-in-prefixes permit 100.34.83.8/31 le 32
 ip prefix-list vrf20-in-prefixes permit 10.240.0.0/12 le 32

@Gerrit91
Copy link
Contributor

References #199, #200.

@majst01 majst01 force-pushed the combine-cidrs branch 2 times, most recently from a213d3b to bbd9400 Compare August 12, 2024 11:49
@Gerrit91 Gerrit91 merged commit fe9c17c into master Aug 13, 2024
2 checks passed
@Gerrit91 Gerrit91 deleted the combine-cidrs branch August 13, 2024 12:19
This was referenced Oct 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants